package com.carleasoft.mps.cms.business.process.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.carleasoft.mps.cms.business.process.bean.entity.BaseProcessNodeRelEntity;
import com.carleasoft.mps.cms.business.process.bean.po.BaseNodePo;
import com.carleasoft.mps.cms.business.process.bean.po.MyApprovalPageCarPo;
import com.carleasoft.mps.cms.business.process.bean.po.MyApprovalPagePo;
import com.carleasoft.mps.cms.business.process.bean.vo.MyApprovalPageReportVo;
import com.carleasoft.mps.cms.business.process.bean.vo.MyApprovalPageVo;
import com.carleasoft.mps.cms.business.process.bean.vo.UserInfoVos;
import com.carleasoft.mps.cms.business.train.bean.vo.TrainCarVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * @author: yangHao
 * @createDate:2023/6/2
 * @description:
 */
@Mapper
public interface BaseProcessNodeRelMapper extends BaseMapper<BaseProcessNodeRelEntity> {

    BaseNodePo getUserInfo(@Param("deptCode") String deptCode);

    String userInfo(@Param("code") String code);

    String getDeptInfo(@Param("code") String code);

    Page<MyApprovalPageVo> myApprovalPage(@Param("page") Page page,@Param("po") MyApprovalPagePo myApprovalPagePo);

    Page<MyApprovalPageReportVo> myApprovalPageReport(@Param("page") Page page,@Param("po") MyApprovalPagePo myApprovalPagePo);

    Page<TrainCarVo> myApprovalPageCar(@Param("page") Page page, @Param("po") MyApprovalPageCarPo myApprovalPageCarPo);

    List<UserInfoVos> userCodes(@Param("userCodes") Set<String> userCodes);
}
